package com.zhuangxiaoyan.springboot.mybatis.dao;

import com.zhuangxiaoyan.springboot.mybatis.domain.Customer;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * CustomerMapper
 *
 * @author xjl
 * @version 2025/01/11 21:25
 **/
@Mapper
public interface CustomerMapper {

    /**
     * 插入一个新客户
     *
     * @param customer 客户对象
     * @return 插入的记录数
     */
    int insertCustomer(Customer customer);

    /**
     * 更新客户信息
     *
     * @param customer 客户对象
     * @return 更新的记录数
     */

    int updateCustomer(Customer customer);

    /**
     * 根据ID删除客户
     *
     * @param id 客户ID
     * @return 删除的记录数
     */
    int deleteCustomer(long id);

    /**
     * 根据ID查询客户
     *
     * @param id 客户ID
     * @return 客户对象
     */

    Customer getCustomerById(long id);

    /**
     * 查询所有客户
     *
     * @return 客户列表
     */

    List<Customer> getAllCustomers();
}